AWK প্রোগ্রামিং ভাষা একটি শক্তিশালী টুল যা সহজে টেক্সট ফাইল থেকে ডেটা বিশ্লেষণ ও রিপোর্ট তৈরি করতে ব্যবহৃত হয়। নিচে বিভিন্ন ধরনের রিপোর্ট জেনারেশন সম্পর্কিত উদাহরণ দেওয়া হলো।
একটি টেক্সট ফাইল থেকে সারসংক্ষেপ রিপোর্ট তৈরি করা, যেখানে প্রতিটি বিভাগে সংখ্যা গণনা করা হয়।
ধরা যাক, আমাদের কাছে sales.txt
ফাইল আছে, যা বিক্রির তথ্য ধারণ করে:
ProductA 100
ProductB 150
ProductA 200
ProductC 300
ProductB 100
ProductC 150
এখন আমরা প্রতিটি পণ্যের মোট বিক্রয় গণনা করে একটি রিপোর্ট তৈরি করতে পারি:
awk '{
sales[$1] += $2 # পণ্যের নামের উপর ভিত্তি করে বিক্রয় যোগ করা
}
END {
print "Product Sales Report"
print "======================"
for (product in sales) {
printf "%-10s : %d\n", product, sales[product]
}
}' sales.txt
আউটপুট:
Product Sales Report
======================
ProductA : 300
ProductB : 250
ProductC : 450
কিছু নির্দিষ্ট শর্তের ভিত্তিতে রিপোর্ট তৈরি করা।
একটি রিপোর্ট তৈরি করা যা শুধুমাত্র 200 এর বেশি বিক্রয় বিশিষ্ট পণ্য প্রদর্শন করবে:
awk '{
if ($2 > 200) {
printf "Product: %-10s Sales: %d\n", $1, $2
}
}' sales.txt
আউটপুট:
Product: ProductA Sales: 200
Product: ProductC Sales: 300
কোনও ক্ষেত্রের গড় মান গণনা করে রিপোর্ট তৈরি করা।
awk '{
total += $2 # মোট বিক্রয় যোগ করা
count++ # সংখ্যা গণনা করা
}
END {
avg = total / count # গড় গণনা করা
printf "Average Sales: %.2f\n", avg
}' sales.txt
আউটপুট:
Average Sales: 208.33
অ্যালাইনমেন্ট এবং ফরম্যাটিং ব্যবহার করে একটি সুন্দর টেবিল রিপোর্ট তৈরি করা।
awk 'BEGIN {
print "Product | Sales"
print "-------------|-------"
}
{
printf "%-12s | %d\n", $1, $2
}' sales.txt
আউটপুট:
Product | Sales
-------------|-------
ProductA | 300
ProductB | 250
ProductC | 450
মাল্টিপল ফাইল থেকে ডেটা একত্রিত করে রিপোর্ট তৈরি করা।
ধরি, আমাদের কাছে january_sales.txt
এবং february_sales.txt
রয়েছে:
january_sales.txt:
ProductA 100
ProductB 150
february_sales.txt:
ProductA 200
ProductB 250
এখন আমরা দুই মাসের বিক্রয় যোগ করে রিপোর্ট তৈরি করতে পারি:
awk '{
sales[$1] += $2 # একত্রিত করা
}
END {
print "Monthly Sales Report"
print "======================"
for (product in sales) {
printf "%-10s : %d\n", product, sales[product]
}
}' january_sales.txt february_sales.txt
আউটপুট:
Monthly Sales Report
======================
ProductA : 300
ProductB : 400
AWK একটি অত্যন্ত কার্যকরী টুল যা সহজেই রিপোর্ট জেনারেশনের কাজ সম্পন্ন করতে পারে। এটি বিভিন্ন ধরনের তথ্য যেমন সংখ্যা, গড়, শর্ত, এবং টেবিল ফরম্যাটে রিপোর্ট তৈরি করার ক্ষমতা প্রদান করে। AWK এর এই বৈশিষ্ট্যগুলি ব্যবহার করে বিশাল ডেটাসেটের মধ্যে তথ্য বিশ্লেষণ এবং উপস্থাপন সহজ হয়ে যায়।
common.read_more